草庐IT

Android Explicit Intent 抛出 NoClassDefFounderror

全部标签

java - HttpClient.execute 抛出 OutOfMemoryError

我有一个发布JSONObject的Android应用程序作为实体使用ByteArrayEntity目的。这是它的样子:post.setEntity(newByteArrayEntity(entity.getBytes("UTF-8")));result=client.execute(post,handler);实体是一个String.处理程序是ResponseHandler客户是HttpClient.这在模拟器和某些设备上运行良好。但是,有时我在执行x10i时遇到OutOfMemoryError(也称为XPERIA)。这是堆栈:java.lang.OutOfMemoryErrorato

java - HttpURLConnection.getResponseCode() 在代码已知时抛出 IOException

为什么即使状态已知,HttpURLConnection.getResponseCode()也会抛出IOException?Causedby:java.io.IOException:ServerreturnedHTTPresponsecode:412forURL:获取响应代码不是问题,因为它写在异常消息中。我希望有一个选项来获取状态代码(即使它不是~200)而不会出现异常,这样我就可以在我的代码中决定要做什么。完整堆栈跟踪:Causedby:java.io.IOException:ServerreturnedHTTPresponsecode:412forURL:atsun.net.www

java - 为什么抛出EJBException是 "recommended"的做法?

我不断地从许多开发人员那里得到这个“建议”。根据我的经验,我发现EJBExceptions非常适合从bean实例的角度来看的“世界末日”(比如当出现错误以至于bean实例无法自行恢复时)。如果一个实例可以恢复,我认为抛出一个应用程序异常会更好。这是我一次又一次遇到的模式:privateSomeResourceresource;ejbCreate:resource=allocateResource(...);omMessage:try{...}catch(JMSExceptione){thrownewEJBException(e);}ejbRemove:freeResource(reso

java - 抛出异常时EDT是否重启?

(下面的示例代码是自包含且可运行的,您可以尝试一下,它不会使您的系统崩溃:)TomHawtin在这里评论了这个问题:WhydopeoplerunJavaGUI'sontheEventQueue那个:EDT不太可能崩溃。EDT调度中抛出的未经检查的异常被捕获、转储并且线程继续。谁能给我解释一下这是怎么回事(每次您点击“抛出未经检查的异常”按钮时,都会故意除以零):importjavax.swing.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.Wind

java - 如何防止 InputStream.readObject() 抛出 EOFException?

我序列化一个对象并将其作为文件保存在我的硬盘上。当我阅读它时,它只会在某些情况下抛出EOFException.经过几个小时的调试后,我找不到问题。这是我的代码:publicvoidserialize(MyClassmyClass,Stringpath){FileOutputStreamfoStream=null;ObjectOutputStreamooStream=null;try{Filefile=newFile(path);if(!file.exists()){file.createNewFile();}foStream=newFileOutputStream(file);ooSt

java - JDiagram 旧版本在 ExtendedArrayList.sort 中使用 JRE 8 抛出 StackOverflowError

我正在使用如下所示的JDiagramJARDiagrammyDigram=newDiagram();myDigram.routeAllLinks();此代码在JRE7上运行时运行良好,但在JRE8上运行时,会抛出以下错误:java.lang.StackOverflowErroratjava.util.Collections.sort(UnknownSource)atcom.mindfusion.common.ExtendedArrayList.sort(UnknownSource)atjava.util.Collections.sort(UnknownSource)atcom.mind

java - 当线程抛出异常时会发生什么?

如果我在线程上调用run()方法并且run()方法抛出一个未捕获的异常,结果会是什么?谁捕获了这个异常?Exception甚至会被捕获吗? 最佳答案 如果为线程组安装了异常处理程序,JVM会将异常传递给它。如果它是AWT线程,您可以为未处理的异常安装事件处理程序。否则JVM会处理它。带有自定义处理程序的线程组示例以及如何使用它:publicclassMyThreadGroupextendsThreadGroup{publicMyThreadGroup(){super("MyThreadGroup");}publicvoiduncau

java - 如果其中一个线程抛出异常,如何停止所有正在运行的线程?

在我的一个应用程序中,我使用ExecutorService类来创建一个固定的线程池,并使用CountDownLatch来等待线程完成。如果进程没有抛出任何异常,这就可以正常工作。如果任何线程发生异常,我需要停止所有正在运行的线程并将错误报告给主线程。谁能帮我解决这个问题?这是我用于执行多线程的示例代码。privatevoidexecuteThreads(){intnoOfThreads=10;ExecutorServiceexecutor=Executors.newFixedThreadPool(noOfThreads);try{CountDownLatchlatch=newCount

java - 为什么 JVM 不简单地终止而不是抛出 OOME?

如果捕获OutOfMemoryError是非常不鼓励的,因为捕获错误后您可能不知道JVM的状况,为什么JVM不简单地终止并以某种方式通知用户而不是抛出错误? 最佳答案 因为没有单一的标准方法可以向用户报告错误情况。抛出错误允许在顶层捕获对象,并在终止之前报告条件,但它可能是适当的(控制台消息、写入日志文件、显示对话框等)。文档指出,合理的应用程序不应捕获错误,这是事实:处理它们的最佳方式是在框架代码中,因为它们的处理方式几乎没有(尽管不是零)变化。具体来说,它们实际上无法从中恢复,这就是为什么大多数应用程序作者都试图捕获它们。更新:

java - 重新设计方法以使用 Java 8 Map.computeIfAbsent() 并抛出异常

我正在尝试使用Java8修改我的一些方法,使它们更加简洁,我正在尝试慢慢吸收其新功能。这是一个以添加value为目的的方法到Map>.存在三种可能性:键不存在:它被添加并且包含该值的新集合与其相关联。键存在:值被添加到现有集合中。请注意,集合永远不会是null,因为我有一些先决条件来处理它。键存在且值已包含在集合中:IllegalArgumentException被抛出。实现此行为的代码如下,它不使用Java8功能:publicvoidaddValue(Keykey,Valuevalue){//irrelevantpreconditions...SetvaluesForKey=myMa